Low complexity soft demapping

ABSTRACT

A method of analyzing soft symbol information in a communication system that transmits multiple independent data streams is disclosed. The method includes setting a trellis structure using a fixed spatial delay constraint, calculating a joint probability between a targeted symbol and a set of observation samples either recursively or nonrecursively, and approximating a likelihood function for a given branch by a single probability density function with mean and variance computed based on available soft information on past symbols relative to the branch that is being currently considered.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims priority to U.S. Provisional Application Nos. 60/584,594, filed Jul. 1, 2004; 60/584,701, filed Jul. 1, 2004; and 60/584,589, filed Jul. 1, 2004, and are hereby incorporated by reference in their entirety.

TECHNICAL FIELD

This invention relates to systems and methods for processing of high bandwidth over-the-air data transmission and reception.

BACKGROUND

With increased reliance of all individuals, whether at work or at play, on access to various rich data sources, and with an increased demand to access such rich data sources on-the-road or on-the-run, comes a need for higher data bandwidth in portable computing and communication devices. For instance, users of mobile computing devices—from laptop computers, to cellular telephones, to wristwatches—desire access to more and more data, such as audio, streaming video, and other data-rich applications. There is thus a demand for systems and techniques that can deliver greater wireless bandwidth.

Part of the necessary process of providing high-bandwidth systems is the ability to “locate” an incoming signal and to align with the signal so that transmitted data may be extracted and read from the signal. This process becomes more complex with high bit rate communications. Also, higher bandwidth is sometimes achieved by separating a data stream into multiple simultaneous transmissions through various multiplexing processes. When such an approach is taken, the data in each transmitted signal must be identified and read, and all of the separate data must then be joined back together in the proper order.

Multiple-input and multiple-output (MIMO) communication methods attract considerable attention because of their potential to achieve much higher capacity than the traditional single-input single-output (SISO) methods. While MIMO systems based on space-time coding can be used to improve link reliability (e.g., by providing redundant information paths), MIMO systems incorporating spatial-multiplexing are used mainly to achieve high spectral efficiency. MIMO systems employing orthogonal frequency division multiplexing (OFDM) can achieve high spectral efficiency in rich scattering environments such as indoor wireless local area networks.

MIMO-OFDM systems can effectively exploit frequency diversity of frequency selective channels as well as spatial diversity of uncorrelated parallel wireless links. Bit interleaved coded modulation (BICM) used in conjunction with MIMO-OFDM and spatial multiplexing (SM) is particularly effective in exploring both spatial diversity and frequency selectivity without significant design efforts, and is well-suited for achieving very high data rates. See G. Caire et al., “Bit-interleaved coded modulation,” IEEE Trans. Inform. Theory, vol. 44, no. 3, pp. 927-946, May, 1998; A. M. Tonello, “Space-time bit-interleaved coded modulation with an iterative decoding strategy,” Proc. of IEEE Vehicular Technology Conference, pp. 473-478, Boston, September, 2000; B. Lu, X. Wang & K. R. Narayanan, “LDPC-based space-time coded OFDM systems over correlated fading channels: performance analysis and receiver design,” IEEE Trans. on Commun., vol. 50, no. 1, pp. 74-88, January, 2002; D. Park and B. G Lee, “Design criteria and performance of space-frequency bit-interleaved coded modulations in frequency selective Rayleigh fading channels,” Journal of Commun. and Networks, vol. 5, no. 2, pp. 141-149, June, 2003. In addition to exploiting spatial diversity, MIMO-OFDM systems retain the same advantages as SISO-OFDM systems, namely, reduced equalization complexity for frequency selective channels and an ability to explore frequency diversity through coding.

However, like their SISO-OFDM counterparts, MIMO-OFDM systems can be sensitive to synchronization errors, especially the carrier frequency offset (CFO). A good synchronization scheme is generally necessary to make a MIMO-OFDM system practically viable. Numerous techniques have been suggested in the literature for SISO-OFDM frequency synchronization. However, extension to MIMO systems tends to be difficult. The literature on MIMO-OFDM synchronization is relatively scarce. A training-based method has been proposed that relies on the cyclic prefix and the orthogonal polyphase sequences that can be modulated directly. See A. N. Mody & G. L. Stuber, “Synchronization for MIMO OFDM systems,” in Globecom 2001, San Antonio, Tex., November, 2001.

Accurate channel estimation is also important in realizing the full performance potential of MIMO-OFDM systems. Channel estimation becomes a major challenge as the number of channel responses that need be characterized increases substantially, as the number of transmit and receive antennas increases. Previous works exist that identify desirable training patterns for estimating channel responses for MIMO systems. See, e.g., Y. (G.) Li, N. Seshadri, and S. Ariyavisitakul, “Channel estimation for OFDM systems with transmitter diversity in mobile wireless channels,” IEEE J. Select Areas Commun., vol. 17, pp. 461-471, March, 1999; Y. (G.) Li, L. J. Cimini, and N. R. Sollegberger, “Robust channels estimation for OFDM systems with rapid dispersive fading channels,” IEEE Trans. Commun., vol. 46, pp. 902-915, July, 1998; Y. (G.) Li, “Simplified channel estimation for OFDM systems with multiple transmit antennas,” IEEE Trans. Wireless Commun., vol. 1, pp. 67-75, January, 2002; X. Ma et al., “Optimal training for MIMO frequency-selective fading channels,” IEEE Trans. Wireless Commun., January, 2004. Other works also appear in this area. See, e.g., H. V Poor “An introduction to signal detection and estimation,” Spring-Verlag: New York, 1994.

There remains a need for systems and techniques that can provide extremely high wireless bandwidth in a reliable and cost-effective manner.

SUMMARY

This document explains processes and systems for soft demapping of received signals for wireless communication systems.

In one implementation, a method of analyzing soft symbol information in a communication system that transmits multiple independent data streams is disclosed. The method comprises setting a trellis structure using a fixed spatial delay constraint, calculating a joint probability between a targeted symbol and a set of observation samples either recursively or nonrecursively, and approximating a likelihood function for a given branch by a single probability density function with mean and variance computed based on available soft information on past symbols relative to the branch that is being currently considered.

The available soft information for the past symbols may be obtained through a posteriori probabilities computed during the current iteration. The mean and variance may be computed based on available soft information that depends on future symbols relative to the branch that is currently considered. Also, the available soft information for the future symbols may be obtained through a priori probabilities passed over from an outer decoder in a previous iteration stage.

In some implementations, the available soft information for a future symbol may be replaced by one or more hard decisions derived from observation samples during the current iteration. The available soft information for past symbols may also be obtained through past hard decisions. The number of past symbols and the number of future symbols used in the mean and variance calculations may be adjustable parameters with the values greater than or equal to zero. In addition, a likelihood function for a given branch may be approximated by a sum of multiple probability density functions with means and variances computed based on estimates of past and future symbols.

The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the invention will be apparent from the description and drawings, and from the claims.

DESCRIPTION OF DRAWINGS

FIG. 1 is a reduced trellis for BPSK.

FIG. 2 is a flow chart showing a method of analyzing symbol information in a communication system that transmits multiple independent data streams.

Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION

Soft demapping techniques may be used to improve the acquisition of high-bandwidth over-the-air signals, as described herein. Consider a 5×5 antenna configuration (5 transmit antennas and 5 receive antennas) as an example. After proper signal decomposition, the received signals can be written as: z ₁ =H ₁₁ s ₁ +n ₁ z ₂ =H ₂₂ s ₂ +H ₂₁ s ₁ +n ₂ z ₃ =H ₃₃ s ₃ +H ₃₂ s ₂ +H ₃₁ s ₁ +n ₃ z ₄ =H ₄₄ s ₄ +H ₄₃ s ₃ +H ₄₂ s ₂ +H ₄₁ s ₁ +n ₄ z ₅ =H ₅₅ s ₅ +H ₅₄ s ₄ +H ₅₃ s ₃ +H ₅₂ s ₂ +H ₅₁ s ₁ +n _(s)  (1) where z_(i) is the received or observation signal at the i-th receive antenna, s_(j) is the modulated symbol transmitted by the j-th transmit antenna, n_(i) denotes the noise corrupting the i-th receive signal, and H_(ij) represents the effective channel response of the communication link between the j-th transmit antenna and the i-th receive antenna. For an N×N antenna configuration, the observation signal at the j-th receive antenna is given by z _(j) =H _(jj) s _(j) +H _(j,j−1) s _(j−1) + . . . +H _(j1) s ₁ +n _(j), 1≦j≦N.  (23)

The techniques discussed here can be applied to cases in which there are a different number of receive antennas (i.e., more) than transmit antennas. Here, we discuss the N×N antenna configuration. The optimal soft detection is based on a trellis representation of the signals. For the multi-input multi-output (MIMO) system, the trellis varies spatially; the number of states at layer j is equal to M^(j), where M is the size of the symbol constellation.

Low complexity soft detection of sj's is possible by adopting the approach used for the intersymbol interference channel detection method described in J. Moon & F. Rafiee Rad, “Pragmatic Turbo equalization via constrained-delay detection with soft decision feedback for severe ISI.”

In the suboptimal reduced trellis scheme of Moon & Rad, the soft information on symbol s_(j−τ) is obtained by making use of z₁ ^(j), the collection of observation samples z₁ through z_(j). The soft information on symbol s_(j−τ), namely the a posteriori probability P(s_(j−τ)/z₁ ^(j)), can be obtained once the joint probability density f(s_(j−τ),z₁ ^(j)) is evaluated. Following Moon & Rad, the state and state transition are defined respectively as

$\begin{matrix} \begin{matrix} {{v_{j}\underset{\_}{\underset{\_}{\bigtriangleup}}s_{j - \tau}^{j - 1}},{j\underset{\_}{>}{\tau + 1}}} \\ {{{\eta_{j}\underset{\_}{\underset{\_}{\bigtriangleup}}\left\{ {v_{j},v_{j + 1}} \right\}} = s_{j - \tau}^{j}},{j\underset{\_}{>}{\tau + 1}}} \end{matrix} & (3) \end{matrix}$

For 1≦j≦τ, we have a spatially varying trellis with the state at the j-th layer given by

$v_{j}\underset{\_}{\underset{\_}{\bigtriangleup}}s_{1}^{j - 1}$ (v₁ is a dummy node, where all trellis paths originate). See FIG. 1 for the resulting trellis corresponding to BPSK, τ=2 and N=5. The joint probability density f(s_(j−τ),z₁ ^(j)) is obtained from the trellis as

$\begin{matrix} {{{f\left( {s_{j - \tau},z_{1}^{j}} \right)} = {\sum\limits_{\eta_{j}{(s_{j - \tau})}}\;{f\left( {\eta_{j},z_{1}^{j}} \right)}}},{{1 + \tau}\underset{\_}{<}j\underset{\_}{<}{N + \tau}}} & (4) \end{matrix}$ where the sum is over all state transitions associated with the given s_(j−τ). In computing the joint probability density for the last symbols s_(N−τ+1) through S_(N) using (4) (i.e., when N+1≦j≦N+τ, it is understood that η_(N+m)=η_(N) and z₁ ^(N+m)=z₁ ^(N) whenever m>0. The joint probability density f(η_(j),z₁ ^(j)), on the other hand, can be computed recursively (see Moon & Rad):

$\begin{matrix} {{{f\left( {\eta_{j},z_{1}^{j}} \right)} = {{P\left( s_{j} \right)}{f\left( {{z_{j}/\eta_{j}},z_{1}^{j - 1}} \right)}{\sum\limits_{\eta_{j - 1}{(\eta_{j})}}\;{f\left( {\eta_{j - 1},z_{1}^{j - 1}} \right)}}}},{1\underset{\_}{<}j\underset{\_}{<}N}} & (5) \end{matrix}$ where the sum is over all η_(j−1)'s connected to the given η_(j), and Σ_(η) ₀ _((η) ₁ ₎f(η₀,z₁ ⁰) is initialized to 1.

While a state transition η_(j) is designed to collect only s_(j−τ) ^(j), the observation z_(j) does in general depend on all symbols s₁ through s_(j). This issue can be resolved by writing the likelihood function l(η_(j))=f(z_(j)/η_(j),z₁ ^(j−1)) as follows:

$\begin{matrix} \begin{matrix} {{l\left( \eta_{j} \right)} = {\sum\limits_{s_{1}^{j - \tau - 1}}\;{f\left( {s_{1}^{j - \tau - 1},{z_{j}/\eta},z_{1}^{j - 1}} \right)}}} \\ {= {\sum\limits_{s_{1}^{j - \tau - 1}}{{P\left( {{s_{1}^{j - \tau - 1}/\eta_{j}},z_{1}^{j - 1}} \right)}{f\left( {{z_{j}/s_{1}^{j - \tau - 1}},\eta_{j},z_{1}^{j - 1}} \right)}}}} \\ {= {\sum\limits_{s_{1}^{j - \tau - 1}}{{P\left( {{s_{1}^{j - \tau - 1}/\eta_{j}},z_{1}^{j - 1}} \right)}{f\left( {z_{j}/s_{1}^{j}} \right)}}}} \end{matrix} & (6) \end{matrix}$ for τ+2≦j≦N. For 1≦j≦τ+1, we simply have l(η_(j))=f(z_(j)/s₁ ^(j)). See FIG. 1. It can be seen that the likelihood function is a weighted sum of Gaussian probability density functions (pdfs).

One effective way of reducing computation is to approximate this weighted linear sum of many Gaussian pdfs with a single Gaussian pdf. That is, we write l(η_(j))≈N(μ_(T) _(j) ,σ_(T) _(j) ) for some mean μ_(T) _(j) and variance σ_(T) _(j) ². Following the approach of Moon & Rad, the “overall mean” μ_(T) _(j) and the “overall variance” σ_(T) _(j) ² can be obtained as

$\begin{matrix} {\mu_{T_{j}} = {{\sum\limits_{i = 0}^{\tau}\;{H_{j,{j - i}}s_{j - i}}} + {\sum\limits_{i = {\tau + 1}}^{j - 1}\;{H_{j,{j - i}}{\overset{\_}{s}}_{j - i}}}}} & {\mspace{290mu}(7)} \\ {\sigma_{T_{j}}^{2} = {\sigma^{2} + {\sum\limits_{i = {\tau + 1}}^{j - 1}\;{{H_{j,{j - i}}}^{2}\sigma_{j - i}^{2}}}}} & {\mspace{290mu}(8)} \end{matrix}$ for 1≦j≦N, where

${{\overset{\_}{s}}_{l} = {\sum\limits_{s_{l}}\;{{P\left( s_{l} \right)}s_{l}}}},\sigma^{2}$ is the variance of additive noise and

$\sigma_{l}^{2} = {\sum\limits_{s_{l}}\;{{P\left( s_{l} \right)}{{{s_{l} - {\overset{\_}{s}}_{l}}}^{2}.}}}$ It is implied that s _(l)=0 and σ_(l)=0 for l<1. The actual computation is done based on the updated a posteriori probabilities available from previous detection layers, i.e., with P(s_(l))←P(s_(l)/z₁ ^(l+τ)) for 1≦l≦j−τ−1. Note that an underlying approximation is:

${P\left( {{s_{1}^{j - \tau - 1}\text{/}\eta_{j}},z_{1}^{j - 1}} \right)} \approx {\prod\limits_{i = 1}^{j - \tau - 1}\;{{P\left( {s_{i}\text{/}z_{1}^{i + \tau}} \right)}.}}$

Further Improvement in Performance/Complexity Tradeoff

The performance can be further improved by allowing a longer decision delay. However, increasing τ results in an exponential increase in complexity as the complexity of the proposed scheme is proportional to M^(τ+1). Instead, the following approach allows a longer decision delay without increasing the computational load significantly. Consider the joint probability density f(s_(j−τ),z₁ ^(j+λ)) that can be obtained from the same trellis as

$\begin{matrix} {{{f\left( {s_{j - \tau},z_{1}^{j + \lambda}} \right)} = {\sum\limits_{\eta_{j}{(s_{j - \tau})}}\;{f\left( {\eta_{j},z_{1}^{j + \lambda}} \right)}}},{{1 + \tau}\underset{\_}{<}j\underset{\_}{<}{N + {\tau.}}}} & (9) \end{matrix}$

The decision delay is now τ+λ. As before, it is understood that η_(N+m)=η_(N) and z₁ ^(N+m)=z₁ ^(N) whenever m>0. The joint probability density f(η_(j),z₁ ^(j+λ)) can be computed recursively:

$\begin{matrix} {{{f\left( {\eta_{j},z_{1}^{j + \lambda}} \right)} = {{P\left( {s_{j}\text{/}z_{j}^{j + \lambda - 1}} \right)}{f\left( {{z_{j + \lambda}\text{/}\eta_{j}},z_{1}^{j + \lambda - 1}} \right)}{\sum\limits_{\eta_{j - 1}{(\eta_{j})}}\;{f\left( {\eta_{j - 1},z_{1}^{j + \lambda - 1}} \right)}}}},{1\underset{\_}{<}j\underset{\_}{<}N}} & (10) \end{matrix}$ where Σ_(η) ₀ _((η) ₁ ₎f(η₀,z₁ ⁰) is initialized to 1. The probability P(s_(j)/z_(j) ^(j+λ−1)) cannot be computed exactly, but can be approximated by the a priori probability, which will be updated at each iterative stage in the case of iterative demapping and decoding. The modified likelihood function l(η_(j))=f(z_(j+λ)/η_(j),z₁ ^(j+λ−1)) is written as

$\begin{matrix} \begin{matrix} {{l\left( \eta_{j} \right)} = {\sum\limits_{s_{1}^{j - \tau - 1},s_{j + 1}^{j + \lambda}}\;{f\left( {s_{1}^{j - \tau - 1},s_{j + 1}^{j + \lambda},{z_{j + \lambda}\text{/}\eta_{j}},z_{1}^{j + \lambda - 1}} \right)}}} \\ {= {\sum\limits_{s_{1}^{j - \tau - 1},s_{j + 1}^{j + \lambda}}{{P\left( {s_{1}^{j - \tau - 1},{s_{j + 1}^{j + \lambda}\text{/}\eta_{j}},z_{1}^{j + \lambda - 1}} \right)}{f\left( {{z_{j + \lambda}\text{/}s_{1}^{j - \tau - 1}},s_{j + 1}^{j + \lambda},\eta_{j},z_{1}^{j + \lambda - 1}} \right)}}}} \\ {= {\sum\limits_{s_{1}^{j - \tau - 1},s_{j + 1}^{j + \lambda}}{{P\left( {s_{1}^{j - \tau - 1},{s_{j + 1}^{j + \lambda}\text{/}\eta_{j}},z_{1}^{j + \lambda - 1}} \right)}{f\left( {z_{j + \lambda}\text{/}s_{1}^{j + \lambda}} \right)}}}} \\ {= {\sum\limits_{s_{1}^{j - \tau - 1},s_{j + 1}^{j + \lambda}}{{P\left( {{s_{1}^{j - \tau - 1}\text{/}\eta_{j}},z_{1}^{j + \lambda - 1}} \right)}{P\left( {{s_{j + 1}^{j + \lambda}\text{/}s_{1}^{j}},z_{1}^{j + \lambda - 1}} \right)}{f\left( {z_{j + \lambda}\text{/}s_{1}^{j + \lambda}} \right)}}}} \end{matrix} & (11) \end{matrix}$ which is also a weighted sum of Gaussian pdfs and so again approximated as l(η_(j))≈N(μ_(T) _(j) ,σ_(T) _(j) ) for some overall mean μ_(T) _(j) and variance σ_(T) _(j) ² but now with modified expressions:

$\begin{matrix} {\mu_{T_{j}} = {{\sum\limits_{i = 1}^{\lambda}\;{H_{j,{j + i}}{\overset{\_}{s}}_{j + i}}} + {\sum\limits_{i = 0}^{\tau}\;{H_{j,{j - i}}s_{j - i}}} + {\sum\limits_{i = {\tau + 1}}^{j - 1}\;{H_{j,{j - i}}{\overset{\_}{s}}_{j - i}}}}} & (12) \\ {\sigma_{T_{j}}^{2} = {{\sum\limits_{i = 1}^{\lambda}{{H_{j,{j + i}}}^{2}\sigma_{j + i}^{2}}} + \sigma^{2} + {\sum\limits_{i = {\tau + 1}}^{j - 1}\;{{H_{j,{j - i}}}^{2}\sigma_{j - i}^{2}}}}} & (13) \end{matrix}$ for 1≦j≦N. As before, we make an approximation

${{\overset{\_}{s}}_{l} \approx {\sum\limits_{s_{l}}\;{{P\left( {s_{l}\text{/}z_{1}^{l + \tau}} \right)}s_{l}}}},{\sigma_{l}^{2} \approx {\sum\limits_{s_{l}}\;{{P\left( {s_{l}\text{/}z_{1}^{l + \tau}} \right)}{{s_{l} - {\overset{\_}{s}}_{l}}}^{2}}}}$ for 1≦l≦j−τ−1 based on a posteriori probabilities available from the previous detection layer during the current iteration, while

${{\overset{\_}{s}}_{l} \approx {\sum\limits_{s_{l}}\;{{P\left( s_{l} \right)}s_{l}}}},{\sigma_{l}^{2} \approx {\sum\limits_{s_{l}}\;{{P\left( s_{l} \right)}{{s_{l} - {\overset{\_}{s}}_{l}}}^{2}}}}$ for j+1≦l≦j+λ based on a priori probabilities updated by the decoder during the previous iteration since a posteriori probabilities are not available for s_(l), j+1≦l≦j+λ. It is understood that here s _(l)=0 and σ_(l)=0 for l<1 or l>N. The implied approximation here is that

${{P\left( {{s_{1}^{j - \tau - 1}/\eta_{j}},z_{1}^{j + \lambda - 1}} \right)}{P\left( {{s_{j + 1}^{j + \lambda}\text{/}s_{1}^{j}},z_{1}^{j + \lambda - 1}} \right)}} \approx {\prod\limits_{i = 1}^{j - \tau - 1}\;{{P\left( {s_{i}\text{/}z_{1}^{i + \tau}} \right)}{\prod\limits_{l = {j + 1}}^{j + \lambda}\;{{P\left( s_{l} \right)}.}}}}$

Note that the state is not defined when τ=0 (i.e., no trellis); in this case, the scheme simply reduces to essentially symbol-by-symbol detection even when λ>0. One desirable feature for τ=0 is that the simple near-optimal demapper geared to Gray mapping can be used that relies on separate processing of quadrature components of the observation signal. It is easy to extend (12) and (13) to the case of λ=N, so that when processing layer j the average effect of all symbols from j+1 through N is taken into account.

An Alternative Approach to Computing (5)

The joint pdf f(η_(j),z₁ ^(j)) in (5) can also be computed non-recursively. That is, instead of accumulating the current-layer likelihood function f(z_(j)/η_(j)) onto the previous-layer pdf of f(η_(j−1),z₁ ^(j−1)), we attempt to directly compute the likelihood function only based on the current (τ+1) layers, and add them anew each cycle. Treating the averaged soft decision sequence s _(l), 1≦l≦j−τ−1, as the correct past decision sequence, f(η_(j),z₁ ^(j)) can be approximated by

$\begin{matrix} \begin{matrix} {{f\left( {\eta_{j},z_{1}^{j}} \right)} \approx {f\left( {\eta_{j},{z_{1}^{j}\text{/}{\overset{\_}{s}}_{1}^{j - \tau - 1}}} \right)}} \\ {= {f\left( {\eta_{j},z_{j - \tau}^{j},{z_{1}^{j - \tau - 1}\text{/}{\overset{\_}{s}}_{1}^{j - \tau - 1}}} \right)}} \\ {= {{P\left( \eta_{j} \right)}{f\left( {{z_{j - \tau}^{j}\text{/}\eta_{j}},{\overset{\_}{s}}_{1}^{j - \tau - 1}} \right)}{{f\left( {z_{1}^{j - \tau - 1}\text{/}{\overset{\_}{s}}_{1}^{j - \tau - 1}} \right)}.}}} \end{matrix} & (14) \end{matrix}$

The third term in the last expression in (14) is common to all η_(j)'s and so can be treated as a normalization constant. Due to the fact that the observation samples z_(j),z_(j−1), . . . , z_(j−τ) are independent when conditioned on the symbols s_(j),s_(j−1), . . . ,s₁, (14) can be computed as

$\begin{matrix} {{f\left( {\eta_{j},z_{1}^{j}} \right)} = {C{\prod\limits_{i = 0}^{\tau}\;{{P\left( s_{j - i} \right)}{f\left( {{z_{j - i}\text{/}\eta_{j}},{\overset{\_}{s}}_{1}^{j - \tau - 1}} \right)}}}}} & (15) \end{matrix}$ where C is the constant and f(z_(j−i)/η_(j), s ₁ ^(j−τ−1)), 0≦i≦τ, can be obtained as in (6)≈(8). Specifically,

$\begin{matrix} \begin{matrix} {{f\left( {{z_{j - i}\text{/}\eta_{j}},{\overset{\_}{s}}_{1}^{j - \tau - 1}} \right)} = {f\left( {{z_{j - i}\text{/}s_{j - \tau}^{j - i}},{\overset{\_}{s}}_{1}^{j - \tau - 1}} \right)}} \\ {\approx {N\left( {\mu_{T_{j - i}},\sigma_{T_{j - i}}} \right)}} \end{matrix} & (16) \end{matrix}$ with the “overall mean” μ_(T) _(j−i) and the “overall variance” σ_(T) _(j−i) ² given by

$\begin{matrix} \begin{matrix} {\mu_{T_{j - i}} = {{\sum\limits_{i = {j - \tau}}^{j - i}\;{H_{{j - i},i}s_{i}}} + {\sum\limits_{i = 1}^{j - \tau - 1}\;{H_{{j - i},i}{\overset{\_}{s}}_{i}}}}} \\ {\sigma_{T_{j - i}}^{2} = {\sigma^{2} + {\sum\limits_{i = 1}^{j - \tau - 1}\;{{H_{{j - i},i}}^{2}\sigma_{i}^{2}}}}} \end{matrix} & (17) \end{matrix}$ where s _(i) and σ_(i) ² are defined as in (7) and (8). This is for the case λ=0, but the approach can be extended to the case λ>0 with the application of the method summarized in (9)≈(13).

It has been shown by simulations that the two approaches to computing f(η_(j),z₁ ^(j))—by (5) and (15)—result in essentially the same performance. However, the use of the non-recursive computation specified in (15) suggests a further complexity reduction scheme. As seen in (15) and (16), the branch metrics f(z_(j−1)/s_(j−τ) ^(j−i), s ₁ ^(j−τ−1)) are to be computed at τ+1 layers (τ≦i≦0) in each cycle (i.e., for each value of j, except at the boundary). At the τ+1 layer (i.e., for i=0), for example, f(z_(j)/s_(j−τ) ^(j), s ₁ ^(j−τ−1)) must be computed for all M^(τ+1) combinations of symbols in s_(j−τ) ^(j). The required level of implementation complexity is very high when M is large, even for a small value of τ.

A complexity reduction is possible by considering only a subset of branches beyond the initial local layer (i.e., i=τ).

Take τ=1 as an example. The branch metrics at the initial local layer f(z_(j−1)/s_(j−1), s ₁ ^(j−2)) are computed as usual for all M symbols of s_(j−1). Then, when computing f(z_(j)/s_(j−1) ^(j), s ₁ ^(j−2)) for the next step, only M₁ out of M symbols are considered for s_(j) (but all M symbols are still considered for s_(j−1)), resulting in M₁×M computations rather than M² computations.

Our simulation results for 64-QAM (M=64) and τ=1 indicate that this reduced complexity scheme with M₁=1 results in only a small loss of performance. The resulting complexity is comparable to the canonical layer-by-layer cancellation/suppression method for VBLAST (P. W. Wolniansky et al., “V-blast: an architecture for realizing very high data rates over the rich-scattering wireless channel,” Proc. ISSUE'98, September 1998), but with large performance improvement. Different criteria are possible for selecting M₁ symbols. In our simulation experience, one particular method that chooses M₁ symbols based on the “nearest-neighbor” rule (i.e., choose the nearest M₁ symbols from the observation sample after subtracting the effect of the other symbols affecting the observation) has been effective.

FIG. 2 is a flow chart showing a method of analyzing symbol information in a communication system that transmits multiple independent data streams. At box 202 of the process, a trellis structure is set using a fixed spatial delay constraint. At box 204, a joint probability is calculated between a targeted symbol and a set of observation samples. The computation may be performed recursively or nonrecursively. At box 206, a likelihood function is approximated for a given branch by a single probability density function. A mean and variance for the function are computed based on available soft information on past symbols relative to the branch that is being currently considered. The mean and variance can be computed based on available soft information that depends on future symbols relative to the branch that is currently considered. The available soft information for past symbols can be obtained through a posteriori probabilities computed during the current iteration, and can be obtained through past hard decisions. Available soft information for future symbols can be obtained through a priori probabilities passed over from an outer decoder in a previous iteration stage, and can be replaced by one or more hard decisions derived from observation samples during the current iteration. The number of past symbols and the number of future symbols used in the mean and variance calculations can be adjustable parameters with the values greater than or equal to zero. Also, a likelihood function for a given branch can be approximated by a sum of multiple probability density functions with means and variances computed based on estimates of past and future symbols.

Various implementations of the systems and techniques described here can be realized in digital electronic circuitry, integrated circuitry, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and/or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.

These computer programs (also known as programs, software, software applications or code) include machine instructions for a programmable processor, and can be implemented in a high-level procedural and/or object-oriented programming language, and/or in assembly/machine language. As used herein, the term “machine-readable medium” refers to any computer program product, apparatus and/or device (e.g., magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term “machine-readable signal” refers to any signal used to provide machine instructions and/or data to a programmable processor.

To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input.

The systems and techniques described here can be implemented in a computing system that includes a back-end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (“LAN”), a wide area network (“WAN”), and the Internet.

The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.

The systems and techniques may be implemented in hardware, firmware, or software as part of the logical physical (PHY) layer under the ISO/OSI network model. The system may be included on a single chip with other components, such as a media access controller (MAC), and may be included with other PHY and MAC instantiations on a single chip for multiple port applications, such as on a switch or router. The techniques may allow for receipt and interpretation of multiple types of data, such as actual transmitted data packets, and also data such as auto negotiation and other link set-up and maintenance information. In a multi-speed or multi-protocol application, the system may be bypassed or otherwise avoided for lower-bandwidth transmission, such as if an auto negotiation process determines that incoming signals are part of a lower bandwidth (e.g., 802.11a, 802.11b, or 802.11g) signal.

A number of embodiments of the invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. Accordingly, other embodiments are within the scope of the following claims. 

1. A computer-implemented method of analyzing soft symbol information in a communication system that transmits multiple independent data streams, comprising: setting a trellis structure using a fixed spatial delay constraint; calculating, using a processor, a joint probability density between a targeted symbol and a set of observation samples either recursively or nonrecursively; and approximating, using the processor, a likelihood function for a given branch by a single probability density function with mean and variance computed based on available soft information on past symbols relative to the branch that is being currently considered.
 2. The method of claim 1, wherein the available soft information for the past symbols is obtained through a posteriori probabilities computed during current iteration.
 3. The method of claim 1, wherein the mean and variance are computed based on available soft information that depends on future symbols relative to the branch that is currently considered.
 4. The method of claim 3, wherein the available soft information for the future symbols is obtained through a priori probabilities passed over from an outer decoder in a previous iteration stage.
 5. The method of claim 3, wherein the available soft information for a future symbol is replaced by one or more hard decisions derived from observation samples during current iteration.
 6. The method of claim 1, wherein the available soft information for past symbols is obtained through past hard decisions.
 7. The method of claim 3, wherein the number of past symbols and the number of future symbols used in the mean and variance calculations are adjustable parameters with the values greater than or equal to zero.
 8. The method of claim 1, wherein the likelihood function for a given branch is approximated by a sum of multiple probability density functions with means and variances computed based on estimates of past and future symbols. 